#模拟ATM机操作
#初始化银行卡卡号、密码
cardlist = [{"id":6222600260001072441,"password":123123,"balance":5000},
			{"id":6222600260001072444,"password":456456,"balance":10000},
			{"id":6222600260001072447,"password":789789,"balance":15000},
			{"id":6222600260001072449,"password":789789,"balance":25000}
           ]

#初始化用户界面的函数
def ui(i):
	'''
	本函数实现的是用户登录银行系统后，进行的查询余额、存钱、取钱、转账、退出等操作。
	'''
	while True:
		#显示用户界面
		print("="*20 + "银行使用系统" + "="*20)
		print("|{:<8}|{:<8}|{:<8}|{:<}|{:<}".format("1.余额","2.取钱","3.存钱","4.转账","5.退出"))
		print("-"*48)
		#实现查询余额、存钱、取钱、、转账、退出等操作
		key = input("请输入相应的选项：")
		
		#查询余额
		if key == str(1):
			print("您的余额为：{}".format(i["balance"]))
		
		#取钱
		elif key == str(2):
			withdraw = input("请输入金额：")
			if withdraw.isdigit(): #判断输入的是不是数字
				if int(withdraw) <= i["balance"]: #余额充足
				 	print("请取走您的{}元钞票".format(withdraw))
				 	print("余额为：{}".format(i["balance"] - int(withdraw)))
				else: #余额不足
					print("余额不足！")
			else :
				print("输入的不是数字，请重新输入。")

		#存钱
		elif key == str(3):
			save = input("请放入100元的钞票：")
			if save.isdigit():
				if int(save) <= 0 :
					print("没有放入钞票！")
				else:
					i["balance"] += int(save)
					print("存钱{}完成,余额为：{}".format(int(save),i["balance"]))
			else:
				print("输入的不是数字，请重新输入。")
		
		#转账
		elif key == str(4):
			transfer_id = input("请输入转账帐号：")
			if transfer_id.isdigit():		
				for j in cardlist: #查看转账帐号是否存在
					if j["id"] == int(transfer_id) :
						transfer = input("请输入转账金额：")
						if i["balance"] < int(transfer):
							print("您的余额不足！")
						else:
							i["balance"] -= int(transfer) #源帐号减去转出金额
							j["balance"] += int(transfer) #目标帐号加转出金额
							print("您的余额为：{}".format(i["balance"]))
						break	
				else:
					print("转账帐号错误，请重新输入。")
			else:
				print("输入的不是数字，请重新输入。")
		
		#退出
		elif key == str(5):
			print("退出系统，谢谢使用！")
			break
		else:
			print("输入错误，请重新输入！")

#初始化登录界面
def login():
	'''
	这是初始化登录界面的函数
	'''
	while True:
		print("="*20 + "银行系统登录" + "="*20)
		tempcard = {}
		tempcard["id"] = input("请插入银行卡或输入银行卡号：")
		tempcard["password"] = input("请输入密码：")
		for i in cardlist:
			if str(i["id"]) == tempcard["id"] and str(i["password"]) == tempcard["password"]:
				ui(i)#进入用户界面
				break
		else:
			print("卡号或密码错误，请重新输入")

#测试
login()